// 接口

export {} // 确保跟其他示例没有成员冲突  

// 接口就是用来约束对象的结构
// 对象必须拥有约束接口的所有成员
// 接口使用interface关键字
interface Post {
    title: string
    content: string,
    subtitle?: string // 可选成员
    readonly summary: string // 只读成员
}

const hello: Post ={
    title: 'title',
    content: 'content',
    summary: 'summary'
}

// 只读成员只能在第一次的时候被添加
// hello.summary = '1'

// ——---------------------------
// 动态添加成员, 对象中的prop指的是动态添加的key的名称是一个string类型， 其value也是一个string类型
interface Cache{
    [prop: string]: string
}
const cache: Cache = {}
cache.foor = 'foor'
cache.bar = 'bar'